1. Field of the Invention
The present invention is directed to processor-controlled printing mechanism, and is particularly concerned with techniques for easing control software development across a range of printing apparatuses having varied pitch characteristics.
2. Description of the Related Art
In software-controlled serial or line printers, mechanical transports such as motor-activated gear trains are used to control print head and/or recording medium movement during recording operations. Typically, these mechanical transports only provide stepwise linear rather than continuous motion, so movement of the medium and/or print head is described in terms of a discrete series of mechanical steps. Each step refers to the minimum amount of relative movement or distance in a particular direction that can be accommodated by the transport mechanism(s). In terms of strictly horizontal and vertical movement, such steps are known as the horizontal and vertical pitch of the printer. Of course, since different printing applications may demand differing mechanical transports, these pitch values may vary significantly from printer to printer.
To control the mechanical transport and transport-dependent functions of such printers, such as line spacing, character spacing, etc. in an printed document or image, application software executing locally on a host machine issues one or more motion commands which can be received, interpreted and executed by the print controller mechanism. Recently, these motions commands have become standardized across a range of printer models, and take the form of a motion instruction followed by a factor "n". When received by the print controller, it executes the specified motion command for the relative distance specified by multiplying n by the appropriate minimum pitch defined for that particular printer.
Therefore, despite commonality in the syntax of the motion command, an applications programmer must still take into account differing minimum pitches of the printers they support in order to achieve similar relative motion results. This requires the applications programmer to limit the number of printers supported as well as tailor the n factors of the motion commands for each unique printer pitch value.
These selection and tailoring requirements cut against current software design trends such as code-reuse and hardware abstraction, which can appreciably shorten product development, reduce costs and improve software quality. Thus, the need to adapt application software for supporting printers having dissimilar pitch characteristics can be viewed as a significant design impediment.